<?php

/**
 * This is the model class for table "tbl_contract_contacts".
 *
 * The followings are the available columns in table 'tbl_contract_contacts':
 * @property integer $id
 * @property string $contractid
 * @property string $custno
 * @property string $locno
 * @property string $contact
 * @property string $email
 * @property string $zones
 * @property string $phoneoffice
 * @property string $phonemobile
 * @property string $phonefax
 * @property string $extension
 * @property string $salutation
 * @property string $jobtitle
 * @property string $alarmpass
 * @property integer $sort
 */
class ContractContacts extends CActiveRecord
{
    /**
     * Returns the static model of the specified AR class.
     * @return ContractContacts the static model class
     */
    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return 'tbl_contract_contacts';
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('contractid, custno, locno, contact, zones, sort', 'safe'),
            array('sort', 'numerical', 'integerOnly' => true),
            array('contractid', 'length', 'max' => 41),
            array('custno', 'length', 'max' => 7),
            array('locno', 'length', 'max' => 5),
            array('contact', 'length', 'max' => 30),
            array('alarmpass', 'length', 'max' => 50),
            array('email', 'length', 'max' => 1000),
            array('zones', 'length', 'max' => 255),
            array('phoneoffice, phonemobile, phonefax', 'length', 'max' => 12),
            array('extension', 'length', 'max' => 6),
            array('salutation', 'length', 'max' => 40),
            array('jobtitle', 'length', 'max' => 50),
            // The following rule is used by search().
            // Please remove those attributes that should not be searched.
            array('id, contractid, custno, locno, contact, email, zones, phoneoffice, phonemobile, phonefax, extension, salutation, jobtitle, sort', 'safe', 'on' => 'search'),
        );
    }

    /**
     * @return array relational rules.
     */
    public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'contractid' => 'Contractid',
            'custno' => 'Custno',
            'locno' => 'Locno',
            'contact' => 'Contact',
            'email' => 'Email',
            'zones' => 'Zones',
            'phoneoffice' => 'Phoneoffice',
            'phonemobile' => 'Phonemobile',
            'phonefax' => 'Phonefax',
            'extension' => 'Extension',
            'salutation' => 'Salutation',
            'jobtitle' => 'Jobtitle',
            'sort' => 'Sort',
        );
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    public function search()
    {
        // Warning: Please modify the following code to remove attributes that
        // should not be searched.

        $criteria = new CDbCriteria;

        $criteria->compare('id', $this->id);
        $criteria->compare('contractid', $this->contractid, true);
        $criteria->compare('custno', $this->custno, true);
        $criteria->compare('locno', $this->locno, true);
        $criteria->compare('contact', $this->contact, true);
        $criteria->compare('email', $this->email, true);
        $criteria->compare('zones', $this->zones, true);
        $criteria->compare('phoneoffice', $this->phoneoffice, true);
        $criteria->compare('phonemobile', $this->phonemobile, true);
        $criteria->compare('phonefax', $this->phonefax, true);
        $criteria->compare('extension', $this->extension, true);
        $criteria->compare('salutation', $this->salutation, true);
        $criteria->compare('jobtitle', $this->jobtitle, true);
        $criteria->compare('sort', $this->sort);

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
        ));
    }
}